Path Traversal
💣

Path Traversal

Description
Path Traversal
category
WebHacking
Tag
WEB Hacking
Date
Mar 15, 2024 03:03 AM

Path Traversal이란?

Path Traversal 취약점은 파일 업로드 및 다운로드 취약점에 포함됩니다.
Path Traversal 취약점은 ../, / 와 같은 메타문자를 사용하여 임의의 디렉터리에 파일을 업로드 및 다운로드 가능한 취약점 입니다.

Example

아래 코드는 Flask를 이용하여 만든 업로드 기능이 페이지입니다.
from flask import Flask, request app = Flask(__name__) @app.route('/Upload', methods = ['GET', 'POST']) def upload_file(): if request.method == 'POST': file = request.files['file'] file.save("./public/" + file.filename) return 'Success' else: return """ <form action="/Upload" method="POST" enctype="multipart/form-data"> <input type="file" name="file" /> <input type="submit"/> </form> """ if __name__ == '__main__': app.run()
 
정상적으로 파일을 업로드 하게 되면
notion image
정상적으로 ./public 위치에 업로드가 된 것을 볼 수 있습니다.
notion image
 
프록시 도구를 통해 Path Traversal 업로드를 진행해 보았습니다.
notion image
아래와 같이 ../ 를 입력하였기 때문에 ./public 의 상위 디렉토리에 저장됩니다.
notion image
 
이와 같은 방식으로 Path Traversal 취약점이 존재하는 업로드나 다운로드 서비스는 중요 파일을 다운로드 및 중요 위치에 악성파일을 업로드 가능합니다.
따라서 해당 취약점이 존재한다면 매우 위험한 취약점 중 하나라고 할 수 있습니다.